(function(window){
	function Progress($progressBar,$progressLine,$progressDot){
		return new Progress.prototype.init($progressBar,$progressLine,$progressDot);
	}
	Progress.prototype={
		constructor: Progress,
		init:function($progressBar,$progressLine,$progressDot){
			isMove=false,
			this.$progressBar=$progressBar;
			this.$progressLine=$progressLine;
			this.$progressDot=$progressDot;
		},
		progressclick:function(callback){
			
			var $this=this;//注意这里的this是progress   
			//监听背景的点击
			this.$progressBar.click(function(event){
				//获取背景距离窗口默认的位置            而这里的this是$progressBar
				var normalleft=$(this).offset().left;
				//获取鼠标点击距离与窗口的位置
				var eventleft=event.pageX;
				//设置前景的宽度
				$this.$progressLine.css("width",eventleft-normalleft);
				$this.$progressDot.css("left",eventleft-normalleft);
			//计算进度条的比例	
			  var value=(eventleft-normalleft)/$(this).width();
			  callback(value);
			});
		},
		progressmove:function(callback){
			var $this=this;//注意这里的this是progress  
			//1.1监听鼠标按下事件
			this.$progressBar.mousedown(function(){
				$this.isMove=true;
			//获取背景距离窗口默认的位置            而这里的this是$progressBar
				var normalleft=$(this).offset().left;
				var barwidth=this.$progressBar.width();
			//1.2监听鼠标移动事件
			$(document).mousemove(function(){
				//获取鼠标点击距离与窗口的位置
				var eventleft=event.pageX;
				var offset=eventleft-normalleft;
				if(offset>=0&&offset<barwidth){
					//设置前景的宽度
				$this.$progressLine.css("width",eventleft-normalleft);
				$this.$progressDot.css("left",eventleft-normalleft);
				}
				
				
			})
			})
			
			//1.3监听鼠标松开事件
			$(document).mouseup(function(){
				$this.isMove=false;
				$(document).off("mousemove");
				//计算进度条的比例	
			  var value=(eventleft-normalleft)/$this.$progressBar.width();
			  callback(value);
			});
		},
		//监听音乐进度条的进度
          setProgress:function(value){
          	if(this.isMove)return;
          	if(value<0||value>100)return;
          	this.$progressLine.css({
          		width:value+"%"
          	});
          	this.$progressDot.css({
          		left:value+"%"
          	});
          	
          },
	}
			Progress.prototype.init.prototype = Progress.prototype;
	window.Progress=Progress;
})(window);